
.SUFFIXES: .sh .h .c .cc .cpp

AR        = ar
AR_FLAGS  = crs

CXX       = g++
CXXFLAGS  = -std=c++11 -ggdb3 -Wall -Werror -DDEBUG 
CXX_MACRO =

INC_DIR   = -Ipubh -Iprih
OBJ_DIR   = obj

OBJS      = InetAddress.o ThreadUtil.o Logging.o Buffer.o Timestamp.o TimerQueue.o  Timer.o \
	        FdEvent.o Poller.o PollAdpt.o EpollAdpt.o TcpLink.o Socket.o EventLoop.o \
	        TcpServer.o ListenSocket.o ServerThread.o TcpClient.o ConnectSocket.o\
	         
	        

MUDUOLIB  = libsim_muduo.a

all: debug release 

debug release gprof: $(OBJ_DIR) $(OBJS) $(MUDUOLIB)

$(OBJS):%.o:%.cpp
	$(CXX) -c $(CXXFLAGS) $(INC_DIR) $< -o $(OBJ_DIR)/$@

$(MUDUOLIB):$(addprefix $(OBJ_DIR)/, $(OBJS)) 
	$(AR) $(AR_FLAGS) $(OBJ_DIR)/$@ $^

$(OBJ_DIR):
	@-mkdir -p $(OBJ_DIR)
	
clean:
	@-rm -rf  $(OBJ_DIR)	
	@-rm -f   $(MUDUOLIB)
	